package com.ucode.model.cgms.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 佣金流水视图对象
 * @Author: Claude
 * @Date: 2023/05/26 13:45
 * @Version: 1.0
 */
@Schema(description = "佣金流水视图对象")
@Data
public class CgmsCommissionFlowVO {

    /**
     * 主键ID
     */
    @Schema(description = "主键ID")
    private Long id;

    /**
     * 用户ID
     */
    @Schema(description = "用户ID")
    private Long userId;
    
    /**
     * 用户名称
     */
    @Schema(description = "用户名称")
    private String userName;

    /**
     * 订单ID
     */
    @Schema(description = "订单ID")
    private Long orderId;

    /**
     * 订单金额
     */
    @Schema(description = "订单金额")
    private BigDecimal orderAmount;

    /**
     * 佣金金额
     */
    @Schema(description = "佣金金额")
    private BigDecimal amount;
    
    /**
     * 佣金类型(1-陪玩订单佣金 2-俱乐部佣金)
     */
    @Schema(description = "佣金类型(1-陪玩订单佣金 2-俱乐部佣金)")
    private Integer commissionType;
    
    /**
     * 佣金类型名称
     */
    @Schema(description = "佣金类型名称")
    private String commissionTypeName;
    
    /**
     * 佣金模式(1-返点 2-抽成)
     */
    @Schema(description = "佣金模式(1-返点 2-抽成)")
    private Integer commissionMode;
    
    /**
     * 佣金模式名称
     */
    @Schema(description = "佣金模式名称")
    private String commissionModeName;
    
    /**
     * 返点金额
     */
    @Schema(description = "返点金额")
    private BigDecimal returnPointAmount;
    
    /**
     * 抽成金额
     */
    @Schema(description = "抽成金额")
    private BigDecimal commissionAmount;
    
    /**
     * 状态(0-待结算 1-已结算 2-已取消)
     */
    @Schema(description = "状态(0-待结算 1-已结算 2-已取消)")
    private Integer statuz;
    
    /**
     * 状态名称
     */
    @Schema(description = "状态名称")
    private String statuzName;
    
    /**
     * 备注
     */
    @Schema(description = "备注")
    private String remark;
    
    /**
     * 创建时间
     */
    @Schema(description = "创建时间")
    private LocalDateTime createdTime;
    
    /**
     * 更新时间
     */
    @Schema(description = "更新时间")
    private LocalDateTime updatedTime;
} 